package com.molichuxing.services.property;

/**
 * 订单支付类型枚举
 * 
 * @author zoumingyu
 * @date 2019年8月13日
 *
 */
public enum OrderPayWayEnum {

	/************************************ 大屏支付 ******************************************/
	/**
	 * 大屏-微信
	 */
	AIO_WXPAY(11, "智能终端-微信"),
	/**
	 * 大屏-支付宝
	 */
	ALPAY_AIO(12, "智能终端-支付宝"),
	/**
	 * 大屏-pos机方式
	 */
	AIO_POS(13, "智能终端-pos机"),
	/**
	 * 大屏-密码键盘
	 */
	AIO_KEYBOARD(14, "智能终端-密码键盘"),

	/************************************ 微信支付 ******************************************/
	/**
	 * 微信-H5
	 */
	WXPAY_MWEB(21, "微信-H5"),
	/**
	 * 微信-APP
	 */
	WXPAY_APP(22, "微信-APP"),
	/**
	 * 微信-公众号
	 */
	WXPAY_JSAPI(23, "微信-公众号"),
	/**
	 * 微信-扫码
	 */
	WXPAY_NATIVE(24, "微信-扫码"),
	/**
	 * 微信-小程序
	 */
	WXPAY_APPLET(25, "微信-小程序"),

	/************************************ 支付宝支付 ******************************************/
	/**
	 * 支付宝-H5
	 */
	ALPAY_MWEB(31, "H5"),
	/**
	 * 支付宝-APP
	 */
	ALPAY_APP(32, "APP"),

	/************************************ 银联支付 ******************************************/
	/**
	 * 银联-H5
	 */
	UNIONPAY_MWEB(51, "H5"),
	/**
	 * 银联-APP
	 */
	UNIONPAY_APP(52, "APP"),

	/************************************ 线下支付 ******************************************/
	/**
	 * 线下支付
	 */
	OFFLINE(41, "线下支付");

	int value;
	String name;

	OrderPayWayEnum(int value, String name) {
		this.value = value;
		this.name = name;
	}

	public int getValue() {
		return value;
	}

	public String getName() {
		return name;
	}


	/**
	 * 通过value获取枚举的name
	 * 
	 * @param value
	 * @return
	 */
	public static String getName(int value) {
		OrderPayWayEnum enumerate = getEnum(value);
		return enumerate == null ? null : enumerate.getName();
	}

	/**
	 * 通过value获取枚举
	 * 
	 * @param value
	 * @return
	 */
	public static OrderPayWayEnum getEnum(int value) {
		for (OrderPayWayEnum enumerate : OrderPayWayEnum.values()) {
			if (enumerate.getValue() == value) {
				return enumerate;
			}
		}
		return null;
	}
}
